package com.googlecode.npgame.screens;

/**
 * Represents the main menu overlay.
 * 
 * @author Josh (joshbruning)
 */
public class MainScreen extends MenuScreen {
  public MainScreen() {
    super();
    this.menuOptions.add(new StartOption());
    this.menuOptions.add(new OptionsOption());
    this.menuOptions.add(new HighScoresOption());
    this.menuOptions.add(new QuitOption());
  }

  private static class StartOption extends MenuOption {

    public StartOption() {
      super("Start");
    }

    @Override
    public Screen select() {
      return new StartScreen();
    }
  }

  private static class OptionsOption extends MenuOption {

    public OptionsOption() {
      super("Options");
    }

    @Override
    public Screen select() {
      return new OptionsScreen(true);
    }
  }

  private static class HighScoresOption extends MenuOption {

    public HighScoresOption() {
      super("High Scores");
    }

    @Override
    public Screen select() {
      return new StartScreen();
    }
  }

  private static class QuitOption extends MenuOption {

    public QuitOption() {
      super("Quit");
    }

    @Override
    public Screen select() {
      return null;
    }
  }
}
